General Notes
super cocksucker from super cocksucker land
to get a fucking new fucking setting to show in fucking fucking ahhhhhhhhhhhhhhhhhhhhhhhhhh VS
delete the settings vb
double click on the setting.settings
see your fucking new setting
right click on
setting.settings and 'run custom tool'
test user
3M197
Valid charge code : N23895
use user maximo for both maximo and maxiface DBs
Database discovery using TOAD with connection info from web.config
http://mxdev12.pnl.gov/maximo/ui/login
CommodityGroup in code = ServiceGroup in Maximo
Comodity in code = Classification in Maximo
No way to cancel an excess request.
\\whsdev20a\servicecatalog\htmlroot
https://servicecatalogdev.pnl.gov/
Maximo test
http://mxtest01-12.pnl.gov/maximo.
mxtest76.test.irm
Queries
To see what reports a user will see
select distinct r.RPT_ID, r.RPT_NAME , RPT_DESCR
from maxiface.sc_report_access ra
left join maxiface.sc_report r on ra.rpt_id = r.rpt_id
where ra.emplid ='39365' order by rpt_name
Delete a ticket
delete from ticket where ticketid ='SR173469';
commit;
To delete all rows for a user
delete from ticket where reportedby = '3M197';
commit;
To manage the menuing system in SR
Runs on classification in offering.
Multi level classifications create multi level menus.
You need to take the offering to pending to make changes.
To get a descending set of records in Oracle
select * from (select ticketid, description, ticketuid, reportdate, reportedby from ticket order by ticketuid desc) tickdesc where rownum <5
ORDER BY rownum DESC;
To get text from long description
select dbms_lob.substr( ldtext,4000) from longdescription
where ldownertable = 'TICKET' and ldkey = 259848
In Toad to show a package / procedure in the editor
declare
lcursor SYS_REFCURSOR;
begin
MAXIFACE.PKG_SC_REPORTS.SELECT_PEND_OUTSIDE_ACTIVITY(1,lcursor );
:to_grid := lcursor;
commit;
--print rc;
end;
process for generating a new report
Log on to Maxiface (pwd maximo) to make changes to DB
it seems like we are generating
1. add a record to SC_REPORT
2. decide on columns
3. add a proc to MAXIFACE.PKG_SC_REPORTS
4. Add users to SC_REPORT_ACCESS
To deploy a web service
Integration - web services library ... search for name without 'query' .. find it ... click on it ... in lower left Under more actions ...deploy
To add / modify a 'form' in Maximo
> admin – classifications
1. Create the classification that identifies the form (Classifications application)
Note: to add an attribute (specification) to Maximo Classification, enter the desired name of the attribute in the attribute field and then if it does not exist you should see a question mark icon to the left of the name. Click on that and you will get a popup that asks if you want to create that attribute. Indicate yes and then set the data type which is the only other required field.
> Platform Configuration – Application designer
2. Go to Application Designer, open the SR application and use the Select Action menu to choose Add/Modify Signature Options. Create a new sig option.
Search for ‘sr’ in the application field
Look for ‘hide’ for example
> security –security groups
3. Go to Security Groups, open the EVERYONE group, go to the Applications tab and filter for the Service Requests application. Find the new sigoption by filtering the values in the bottom table.
Eg ‘hide’
Grant rights to the new sig option.
4. Once the sig option has been granted, use the chevrons by the Condition field to Go To Conditional Expression Manager. Create a conditional expression that identifies the SR as being classified as (new sig option value here). Once saved, use the
Return With Value option to apply the new condition to the sigoption in the EVERYONE group
Check always evaluate
For the application ‘Service Requests’ we have conditions that ‘toggle’ the forms based on the classificationId. For example ‘Hide the Excess form if not classified as Asset Excess’. This references the conditionnum 1046. There is a valid record in the condition table in dev with this conditionnum but not on test. The condition table also has a CONDITIONID so I think conditionnum not an id.
5. Go back to Application Designer,
sys config - platform config - app designer
open the SR application. Go to the Additional Details tab. Create a section to hold the attributes for your new form and build as you see fit. This can be done using the tools within application designer or by exporting the xml, editing in a tool of your choice and importing the xml back in.
if you add a new section then put the sig option in the advanced property tab
you can then copy out the XML for the ‘application’ and then cut and paste from other forms to speed the process
you will need to change the id’s when you copy anything.
REMEMBER TO ADD THE SAME FORM TO THE WOTRACK APPLICATION TOO, if needed.
To add a relationship to an integration object
First add a database relationship in System Configuration - Platform Configuration - Database configuration
Relationship - any name (preface with pnl)
Child object - child table
where clause - :field-in-parent=key-in-relationsip-child-table
remarks - description of relationship
Then reference that relationship in Integration - Object structures
To create a work order
find the SR in Service desk - Service requests
Select Action - create related - workorder
To bring a wo back to bulletin board
find WO in Work order tracking
Change status to approved
Take Ownership in select action
Bookmarking
To enable display of dialogs of Service Requests using a url(bookmark)
1. In _layout.js ajaxBookmarkable.js is called on load
a. it checks the window.location for a '#' symbol
b. if it finds one then it rebuilds the url with info for the sr etc and resubmits the url
2. The home controller has a base class that checks for querystrings by overriding OnActionExecuting
a. It then builds some vars with the info needed to navigate to the correct SR
b. Index.cshtml is called again as part of the round trip.
1. its document.ready function checks for the vars that were built out on the server
2. its then call the js function 'loadOffering' or 'loadDetail' as needed
3. finally it calls ClearHash(0 which clears the vars and the browser address (Non-IE browsers)
For maximo data svc
set up wcf in webconfig
make sure of name spaces
include MicrosoftAjax.js in layout
<script type="text/javascript" src="~/MaximoData.svc/js"></script> in layout
To see what table / field is being used ALT - F1
To find Srs in the IBM interface
Go To > Service Desk > Service Request
To extend Maximo to integration layer
Them - Maximo objects
Me - Create object structure
For a given screen what do I need?
Before you start check for the database object at
System Configuration > Platform Configuration > Database Configuration
ß find the object in here
1. Start - Integration – object structures
Create - ( click on icon beside select action)
Use name from database object (with PNL_ apppended)
Give meaningful description (to right)
Consumed by integration
Select ‘new row’ at lower right
Do a look up to find the database object - Note: lookup is flacky
If you have any ‘ID’ fields then you need to set them in ‘Inboundsettingrestrictions’
Find the field in the list and set restricted and override.
To add a child:
Simply add a new row – pick another table (database object
Use the object from the row above as the parent
Click on magnifier to see the ‘suggested’ relationships
Save record
In the Select Action menu, choose the “Generate Schema/View XML” item. ( I think this is just informational)
Note: it might have an empty row in the source object section. Just delete it and it will save.
2. Then - Integration – web services library
Select the object structure
Create web service from object structure – laboriously tab through list to find object
Note: You can also create a web service from an existing 'Enterprise Web Service'
Deploy – to product web service container - generate deployment files
3. In MxIntegration – add service reference – advanced – add web reference –paste the address with the object name
Get a wsdl url from another web service and paste it in with the new name in it
Use the object name as the web reference name
Offerings are in the table PMSCOFFERINGEXT
Maxmo Web Client
To find a table / field in the DB hit [alt] [f1] when the cursor is on a field in a form.
To get a where clause when in the list view click on arrrow to the right of 'advanced search' and choose where clause.
To generate a web service (MBO - Maximo business object) Table or view (with opt. java)
1. In Maximo menu - System Configuration >
Database Configuration
find the config
Generally we not be adding objects in the database configuration tab.
2. Object structure (where we generate schema) Integration >
Object Structures
can map to multiple MBOs
duplicate object structure
clear java class
3. Integration >
Web Services Library
select action - create web service - create from object struct
'generate schema' is for changes in object structure
deploy to Product Web Service Container
To get a page to show up in the service cat.
In the maximo interface
1. Add an offering (you can duplicate an existing) - Service Request Catalog / offerings
Offering type should be service request
Long description is the second line text of the menu item
Can only be changed when when status is not active.
2. Add to catalog (side menu action)
3. Change status ?
3 Purge the cache
In the Service Catalog
Add user control in Service Catalog - Offering Dialogs
Have control inherit from SrOfferingForm
Override OnFirstLoad and add a call to _common.Reset() to set up the initial values (user etc).
Use ExampleCustomForm as a template (CommonRequestControls etc.)
Add offering ID => to reference user control in web config appSettings
Build a cross reference to the Offering field (PMSCOFFERING.ITEMNUM) to the name of the user control.
Basic underlying Architecture
MXFactory
- Accepts query
- Handles caching
- Hands back type safe objects
MxIntegrationObject
- Automatic attribute driven property mapping
- Controls serialization
- Life-cycle for ORM like object
To get a link to show up in the catalog
1. create an offering
2. offering type should be Action Offering
3. Go to System configuration - Platform configuration - Launch in Context
4. Create a launch entry
5. Create a launch entry name
5. Put in the url
6. Put in the description ( to the right of name) and long description
7. Use_blank fro the target browser window.
8. Purge cache
VB notes
Modules are VB counterparts to C# static classes. When your class is designed solely for helper functions and extension methods and you don't want to allow inheritance and instantiation, you use a Module.
conn str on test
jdbc:oracle:thin:@(DESCRIPTION=
(LOAD_BALANCE=yes)
(FAILOVER=yes)
(ADDRESS=(PROTOCOL=TCP)(HOST=oraracdev01-vip.pnl.gov)(PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=oraracdev02-vip.pnl.gov)(PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=oraracdev03-vip.pnl.gov)(PORT=1521))
(CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=mxdev.dev.irm)
(FAILOVER_MODE=(TYPE=select)(METHOD=basic))))